Elasticsearch

Standard opération

Créer un index

Pour créer un index, on passe par l'API rest. Il est possible de créer le mapping en même temps que l'index, par exemple :

$ curl -X POST localhost:9200/myindex -d '{
    settings :{
        number_of_shards: 2,
        number_of_replicas: 1
    },
    mappings: {
        "orders" : {
              "properties" : {
                "id": {
                  "type": "string",
                  "store": "yes"
                },
                "nom": {
                    "string", 
                    // etc
                }
            }
        }
    }
}'

On peut également fermer un index plutôt que de le supprimer, une sorte de offline/online mode. Fermer un index, désactive memory, threads etc. On ne peut également plus faire de recherche dessus

Setup mapping

Via l'API. Lorsqu'on setup un mapping si un mapping existe déjà on le merge avec le nouveau, on update les fields type etc.

$ curl -XPUT 'http://localhost:9200/twitter/_mapping/tweet' -d '
{
    "tweet" : {
        "properties" : {
            "message" : {"type" : "string", "store" : true }
        }
    }
}
'

Optimisation d'index

Les données sont stockés sur le disque et pendant la durée de vie d'un index, beaucoup de segments du disque sont crées et changés. Avec l'augmentation du nombre de segment la vitesse de recherche se réduit au fur et a mesure que le nb de segment augmente. Optimiser les index réduit les segments et consolide les index.